//package com.plian.system.service.ra.landassets;
//
//import com.alibaba.excel.EasyExcel;
//import com.alibaba.excel.read.listener.PageReadListener;
//import com.alibaba.fastjson.JSON;
//import com.fasterxml.jackson.core.type.TypeReference;
//import com.fasterxml.jackson.databind.ObjectMapper;
//import com.plian.Tools.*;
//import com.plian.Tools.pagedata.PageData;
//import com.plian.system.bean.ra.LandAssetsImportExcelBean;
//import com.plian.system.config.exception.MyRuntimeException;
//import com.plian.system.constant.baseinfo.ValueSetConstant;
//import com.plian.system.constant.sys.FormTypeConstant;
//import com.plian.system.dao.ra.landassets.LandAssetsDao;
//import com.plian.system.dao.sys.orgzation.OrgzationDao;
//import com.plian.system.excel.ImportExcelUtil;
//import com.plian.system.excel.ImportResult;
//import com.plian.system.model.CommonCode;
//import com.plian.system.model.ListResult;
//import com.plian.system.model.ObjResult;
//import com.plian.system.model.page.Page;
//import com.plian.system.service.bt.baseinfo.BaseInfoService;
//import com.plian.system.service.sys.code.IFormCodeService;
//import com.plian.system.service.sys.file.FileService;
//import org.apache.commons.io.IOUtils;
//import org.apache.commons.lang.exception.ExceptionUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.scheduling.annotation.Async;
//import org.springframework.scheduling.annotation.AsyncResult;
//import org.springframework.stereotype.Service;
//
//import javax.servlet.http.HttpServletResponse;
//import java.io.ByteArrayInputStream;
//import java.io.InputStream;
//import java.io.OutputStream;
//import java.util.*;
//import java.util.concurrent.Future;
//import java.util.stream.Collectors;
//
//import static com.plian.system.constant.sys.FormStatusConstant.*;
//
//@Service
//public class LandAssetsService {
//
//    private static final Logger log = LoggerFactory.getLogger(LandAssetsService.class);
//
//    @Autowired
//    LandAssetsDao landAssetsDao;
//    @Autowired
//    OrgzationDao orgzationDao;
//    @Autowired
//    FileService fileService;
//    @Autowired
//    IFormCodeService formCodeService;
//
//    @Autowired
//    BaseInfoService baseInfoService;
//    /**
//     * 保存
//     *
//     * @param pd
//     * @return
//     */
//    public ObjResult save(PageData pd) {
//        try {
//            String id = UuidUtil.get32UUID();
//            pd.put("id", id);
//            pd.put("orgId", TokenUtil.getTokenOrgId());
//            pd.put("isEntrust", "0");
//            pd.put("formType", FormTypeConstant.RA_LAND_ASSETS);
//            pd.put("createTime", new Date());
//            pd.put("createUser", TokenUtil.getTokenUserId());
//            pd.put("updateTime", new Date());
//            pd.put("updateUser", TokenUtil.getTokenUserId());
//            pd.put("reportTime", new Date());
//            pd.put("code",formCodeService.getCode(FormTypeConstant.RA_LAND_ASSETS));
//            landAssetsDao.save(pd);
//            //保存附件
//            fileService.saveAll(id, (List<HashMap>) pd.get("list_doc"));
//            return new ObjResult(CommonCode.SUCCESS);
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException(new ObjResult(CommonCode.ERROR));
//        }
//    }
//
//    /**
//     * 修改
//     *
//     * @param pd
//     * @return
//     */
//    public ObjResult edit(PageData pd) {
//        try {
//            pd.put("updateTime", new Date());
//            pd.put("updateUser", TokenUtil.getTokenUserId());
//            pd.put("reportTime", new Date());
//            landAssetsDao.edit(pd);
//            fileService.edit(pd.getString("id"), (List<HashMap>) pd.get("list_doc"));
//            return new ObjResult(CommonCode.SUCCESS);
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException(new ObjResult(CommonCode.ERROR));
//        }
//    }
//
//    /**
//     * 单据详情
//     *
//     * @param pd
//     * @return
//     */
//    public ObjResult findbyid(PageData pd) {
//        String pro_id = pd.getString("id");
//        try {
//            ObjResult objResult;
//            PageData p = landAssetsDao.findbyid(pro_id);
//            objResult = new ObjResult(CommonCode.SUCCESS);
//            objResult.setPageData(p);
//            return objResult;
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException(new ObjResult(CommonCode.ERROR));
//        }
//    }
//
//    /**
//     * 根据id删除
//     *
//     * @param ids
//     * @return
//     */
//    public ObjResult del_ids(List<String> ids) {
//        try {
//            landAssetsDao.del_ids(ids);
//            return new ObjResult(CommonCode.SUCCESS);
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException(new ObjResult(CommonCode.ERROR));
//        }
//    }
//
//    /**
//     * 查询列表
//     *
//     * @return
//     */
//    public ListResult list(PageData pd) {
//        ListResult listResult;
//        try {
//            String status = pd.getString("status");
//            if (status != null && !"".equals(status)) {
//                pd.put("status",status.trim());
//            }
//            pd.put("orgId", TokenUtil.getTokenOrgId());
//            Page page = new Page(true, pd);
//            List<PageData> list = landAssetsDao.list(page);
//            listResult = new ListResult(CommonCode.SUCCESS);
//            listResult.setList(list);
//            listResult.setTotal(page.getTotal());
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            listResult = new ListResult(CommonCode.ERROR);
//        }
//        return listResult;
//    }
//
//    /**
//     * 查询列表
//     *
//     * @return
//     */
//    public ListResult variationList(PageData pd) {
//        ListResult listResult;
//        try {
//            String status = pd.getString("status");
//            if (status != null && !"".equals(status)) {
//                pd.put("status",status.trim());
//            }
//            pd.put("variationFlag", "true");
//            pd.put("orgId", TokenUtil.getTokenOrgId());
//            Page page = new Page(true, pd);
//            List<PageData> list = landAssetsDao.list(page);
//            listResult = new ListResult(CommonCode.SUCCESS);
//            listResult.setList(list);
//            listResult.setTotal(page.getTotal());
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            listResult = new ListResult(CommonCode.ERROR);
//        }
//        return listResult;
//    }
//
//
//    public ListResult listB(PageData pd) {
//        ListResult listResult;
//        try {
//            pd.put("status","3");
//            String landType = pd.getString("landType");
//            if (landType != null && !"".equals(landType)) {
//                pd.put("landType",landType.trim());
//            }
//            String landUseSituation = pd.getString("landUseSituation");
//            if (landUseSituation != null && !"".equals(landUseSituation)) {
//                pd.put("landUseSituation",landUseSituation.trim());
//            }
//            String landUse = pd.getString("landUse");
//            if (landUse != null && !"".equals(landUse)) {
//                pd.put("landUse",landUse.trim());
//            }
////            String applyCompanyIds = pd.getString("applyCompanyIds");
////            if (applyCompanyIds != null && !"".equals(applyCompanyIds)) {
////                pd.put("orgId",applyCompanyIds.trim());
////            }
//            String keywords = pd.getString("keywords");
//            if (keywords != null && !"".equals(keywords)) {
//                pd.put("keywords",keywords.trim());
//            }
//            Page page = new Page(true, pd);
//            List<PageData> list = landAssetsDao.list(page);
//            listResult = new ListResult(CommonCode.SUCCESS);
//            listResult.setList(list);
//            listResult.setTotal(page.getTotal());
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            listResult = new ListResult(CommonCode.ERROR);
//        }
//        return listResult;
//    }
//
//    /**
//     * 提交
//     *
//     * @param ids
//     * @return
//     */
//    public ObjResult submit(List<String> ids) {
//        try {
//            PageData pageData = new PageData();
//            pageData.put("status", String.valueOf(FINISH));
//            pageData.put("id", ids);
//            landAssetsDao.refer(pageData);
//            return new ObjResult(CommonCode.SUCCESS);
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            return new ObjResult(CommonCode.ERROR);
//        }
//    }
//
//    /**
//     * 退回单据
//     *
//     * @param formId 单据id
//     */
//    public void reject(String formId) throws Exception {
//        PageData pageData = new PageData();
//        pageData.put("status", String.valueOf(REJECT));
//        pageData.put("id", Collections.singletonList(formId));
//        landAssetsDao.refer(pageData);
//    }
//
//    /**
//     * 审批完成
//     *
//     * @param formId
//     */
//    public void finish(String formId) {
//        try {
//            PageData pageData = new PageData();
//            pageData.put("status", String.valueOf(FINISH));
//            pageData.put("id", Collections.singletonList(formId));
//            landAssetsDao.refer(pageData);
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException("单据流转完成时修改单据状态失败！");
//        }
//    }
//
//    /**
//     * 委托
//     *
//     * @param pd
//     * @return
//     */
//    public ObjResult entrust(PageData pd) {
//        try {
//            PageData pageData = landAssetsDao.findbyid(pd.getString("id"));
//            if (null == pageData.getString("entrustUnit") || "".equals(pageData.getString("entrustUnit"))) {
//                pageData.put("entrustUnit", pd.getString("entrustUnit"));
//                pageData.put("isEntrust", "1");
//                landAssetsDao.edit(pageData);
//                return new ObjResult(CommonCode.SUCCESS);
//            } else {
////                PageData org = orgzationDao.findbyid(pageData.getString("entrustUnit"));
////
//                throw new MyRuntimeException("已存在委托单位！");
//            }
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException("单据保存委托单位报错！");
//        }
//    }
//
//    /**
//     * 取消委托
//     *
//     * @param pd
//     * @return
//     */
//    public ObjResult cancelEntrust(PageData pd) {
//        try {
//            PageData pageData = landAssetsDao.findbyid(pd.getString("id"));
//            pageData.remove("entrustUnit");
//            pageData.put("isEntrust", "0");
//            landAssetsDao.edit(pageData);
//            return new ObjResult(CommonCode.SUCCESS);
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException("单据保存委托单位报错！");
//        }
//    }
//
//    /**
//     * 从土地添加房产
//     *
//     * @param pd
//     * @return
//     */
//    public ObjResult addHouse(PageData pd) {
//        try {
//            PageData pageData = landAssetsDao.findbyid(pd.getString("id"));
//            PageData pageData1 = new PageData();
//            pageData1.put("landAssetsId", pageData.getString("id"));
//            pageData1.put("landName", pageData.getString("landName"));
//            pageData1.put("floorSpace", pageData.getString("landArea"));
//            pageData1.put("theLandUsed", pageData.getString("landUsed"));
//            pageData1.put("landStatus", pageData.getString("landType"));
//            ObjResult objResult = new ObjResult(CommonCode.SUCCESS);
//            objResult.setPageData(pageData1);
//            return objResult;
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException("单据保存委托单位报错！");
//        }
//    }
//
//    /**
//     * 工作流
//     *
//     * @param formIds 单据ids
//     */
//    public List<PageData> findByIds(List<String> formIds) {
//        try {
//            PageData pageData = new PageData();
//            pageData.put("ids", formIds);
//            return landAssetsDao.findByIds(pageData);
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            throw new MyRuntimeException("根据单据id列表查询报表失败！");
//        }
//    }
//
//    public void exportTemplateExcel(HttpServletResponse response, OutputStream os) {
//        try {
//            String fname = "土地登记导入模板";
//            os = response.getOutputStream();//取得输出流
//            response.reset();//清空输出流
//            //下面是对中文文件名的处理
//            response.setCharacterEncoding("UTF-8");//设置相应内容的编码格式
//            InputStream inputStream = this.getClass().getResourceAsStream("/exceldemo/landAssetsImport.xlsx");
//            fname = java.net.URLEncoder.encode(fname, "UTF-8");
//            response.setHeader("Content-Disposition", "attachment;filename=" + new String(fname.getBytes("UTF-8"), "UTF-8") + ".xlsx");
//
//            response.setContentType("application/msexcel");//定义输出类型
//            int len;
//            byte[] b = new byte[2048];
//            while ((len = inputStream.read(b)) != -1) {
//                os.write(b, 0, len);
//            }
//            response.setHeader("Content-Length", String.valueOf(inputStream.available()));
//
//            inputStream.close();
//            os.close();
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//        }
//    }
//
//    @Async("ttlExecutor")
//    public Future<ImportResult> importExcel(String progressId, InputStream inputStream) {
//        String progress = "progress";
//        String key = progressId + "#half:hour";
//        try {
//            byte[] bytes = IOUtils.toByteArray(inputStream);
//            inputStream = new ByteArrayInputStream(bytes);
//
//            Map<String, Map<String, String>> mapRef = getRef();
//
//            List<Object> projectList = new ArrayList<>();
//            EasyExcel.read(inputStream).build()
//                    .read(EasyExcel.readSheet(1).headRowNumber(1).head(LandAssetsImportExcelBean.class)
//                            .registerReadListener(new PageReadListener<>(list -> projectList.addAll(list))).build());
//            ImportExcelUtil.filterEmpty(projectList);
//
//
//            List<PageData> landList = landAssetsDao.allList();
//            List<String> existLandNames = new ArrayList<>();
//            if (CollectionUtil.isNotEmpty(landList)){
//                existLandNames = landList.stream().filter(p -> !(!p.getString("status").equals("3")
//                        && p.getString("orgId").equals(TokenUtil.getTokenOrgId())))
//                        .map(p -> p.getString("landName")).collect(Collectors.toList());
//            }
//
//            ImportResult result = checkData(mapRef, projectList, progressId, existLandNames);
//            if (!result.isSuccess()) {
//                CacheUtil.put(progress, progress, key, result.getMsg());
//                return new AsyncResult<>(result);
//            }
//
//            int count = 0;
//            int size = projectList.size();
//            // 项目信息
//            ObjectMapper mapper = new ObjectMapper();
//            for (Object readExcel : projectList) {
//                LandAssetsImportExcelBean excelBean = (LandAssetsImportExcelBean) readExcel;
//
//                PageData newData = new PageData();
//                String json = JSON.toJSONStringWithDateFormat(excelBean, DateUtil.PATTERN_DATETIME);
//                newData.putAll(mapper.readValue(json, new TypeReference<HashMap<String, Object>>() {}));
//                PageData old = landAssetsDao.findByName(excelBean.getLandName());
//
//                newData.put("formType", FormTypeConstant.RA_LAND_ASSETS);
//                newData.put("status", UNREVIEWED);
//                newData.put("updateTime", new Date());
//                newData.put("updateUser", TokenUtil.getTokenUserId());
//                newData.put("code", formCodeService.getCode(FormTypeConstant.RA_LAND_ASSETS));
//                boolean addFlag = true;
//
//                if (Optional.ofNullable(old).isPresent()) {
//                    newData.put("id", old.getString("id"));
//                    newData.put("reportTime", old.getString("reportTime"));
//                    addFlag = false;
//                } else {
//                    newData.put("id", UuidUtil.get32UUID());
//                    newData.put("reportTime", new Date());
//                    newData.put("createTime", new Date());
//                    newData.put("createUser", TokenUtil.getTokenUserId());
//                }
//
//
//                //入库
//                try {
//                    if (addFlag) {
//                        landAssetsDao.save(newData);
//                    } else {
//                        landAssetsDao.edit(newData);
//                    }
//                    count++;
//                    int value = count * 100 / size;
//                    CacheUtil.put(progress, progress, key, value + 100);
//                } catch (Exception e) {
//                    log.error(ExceptionUtils.getFullStackTrace(e));
//                    log.error(newData + "导入失败");
//                    CacheUtil.put(progress, progress, key, newData + "导入失败");
//                    return new AsyncResult<>(new ImportResult(false, newData + "导入失败"));
//                }
//            }
//
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//            log.error("解析失败");
//            CacheUtil.put(progress, progress, key, "解析失败");
//            return new AsyncResult<>(new ImportResult(false, "解析失败"));
//        }
//
//        CacheUtil.put(progress, progress, key, "导入成功");
//        return new AsyncResult<>(new ImportResult(true, "导入成功"));
//    }
//
//    private Map<String, Map<String, String>> getRef() {
//        Map<String, Map<String, String>> mapRefs = new HashMap<>(16);
//        mapRefs.put("landMakeWayRef", baseInfoService.getChildMap(ValueSetConstant.LAND_MAKE_WAY));
//        mapRefs.put("landTypeRef", baseInfoService.getChildMap(ValueSetConstant.LAND_TYPE));
//        mapRefs.put("landUseRef", baseInfoService.getChildMap(ValueSetConstant.LAND_USE));
//        mapRefs.put("landUsedRef", baseInfoService.getChildMap(ValueSetConstant.LAND_USED));
//        mapRefs.put("landValueTypeRef", baseInfoService.getChildMap(ValueSetConstant.LAND_VALUE_TYPE));
//        mapRefs.put("landClassificationRef", baseInfoService.getChildMap(ValueSetConstant.LAND_CLASSIFICATION));
//
//        Map<String, String> unitRef = new HashMap<>(512);
//        try {
//            List<PageData> allOrgs = orgzationDao.list(null);
//            if (CollectionUtil.isNotEmpty(allOrgs)) {
//                for (PageData pageData : allOrgs) {
//                    unitRef.put((String) pageData.get("name"), (String) pageData.get("id"));
//                }
//            }
//        } catch (Exception e) {
//            log.error(ExceptionUtils.getFullStackTrace(e));
//        }
//        mapRefs.put("unitRef", unitRef);
//
//
//        return mapRefs;
//    }
//
//
//    private ImportResult checkData(Map<String, Map<String, String>> mapRef, List<Object> readExcels,
//                                   String progressId, List<String> existLandNames) {
//        ImportResult importResult = new ImportResult(true, "");
//
//        StringBuilder msg = new StringBuilder();
//
//        if (CollectionUtil.isNotEmpty(readExcels)) {
//            for (Object readExcel : readExcels) {
//                LandAssetsImportExcelBean excelBean = (LandAssetsImportExcelBean) readExcel;
//                int index = readExcels.indexOf(readExcel);;
//
//                //判空
//                msg.append(ImportExcelUtil.checkEmpty("2", "所属单位",
//                        excelBean.getOrgId(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "登记时间",
//                        excelBean.getRegistrationTime(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "地块名称",
//                        excelBean.getLandName(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "坐落位置",
//                        excelBean.getAddress(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地取得方式",
//                        excelBean.getMakeWay(), index).getMsg());
//
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地取得时间",
//                        excelBean.getMakeDate(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地性质",
//                        excelBean.getLandType(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "确切情况",
//                        excelBean.getSituation(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地使用现状",
//                        excelBean.getStaLandUse(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地用途",
//                        excelBean.getLandUsed(), index).getMsg());
//
//
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地入账情况",
//                        excelBean.getAccountinGassets(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地类型",
//                        excelBean.getLandClassification(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地价值类型",
//                        excelBean.getTypeValue(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地金额（元）",
//                        excelBean.getAmount(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "土地面积(m²)",
//                        excelBean.getLandArea(), index).getMsg());
//
//                msg.append(ImportExcelUtil.checkEmpty("2", "自用总面积(m²)",
//                        excelBean.getSelfuseArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "公开出租总面积",
//                        excelBean.getGrossArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "协议出租总面积(m²)",
//                        excelBean.getAgreementGrossArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "出借总面积(m²)",
//                        excelBean.getTotalLoanArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "闲置总面积(m²)",
//                        excelBean.getIdleTotalArea(), index).getMsg());
//
//                msg.append(ImportExcelUtil.checkEmpty("2", "是否做地",
//                        excelBean.getNetTo(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "是否零星用地",
//                        excelBean.getSporadicUseLand(), index).getMsg());
//                msg.append(ImportExcelUtil.checkEmpty("2", "是否抵押",
//                        excelBean.getMortgageSituation(), index).getMsg());
//
//
//                //类型判断
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_DATE, "2", "登记时间",
//                        excelBean.getRegistrationTime(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_DATE, "2", "土地取得时间",
//                        excelBean.getMakeDate(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_DATE, "2", "土地发证日期",
//                        excelBean.getDateOfLandTitle(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_DATE, "2", "不动产发证日期",
//                        excelBean.getDateOfRealEstate(), index).getMsg());
//
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_BIGDECIMAL, "2", "土地金额（元）",
//                        excelBean.getAmount(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_BIGDECIMAL, "2", "土地面积(m²)",
//                        excelBean.getLandArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_BIGDECIMAL, "2", "自用总面积(m²)",
//                        excelBean.getSelfuseArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_BIGDECIMAL, "2", "公开出租总面积",
//                        excelBean.getGrossArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_BIGDECIMAL, "2", "协议出租总面积(m²)",
//                        excelBean.getAgreementGrossArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_BIGDECIMAL, "2", "出借总面积(m²)",
//                        excelBean.getTotalLoanArea(), index).getMsg());
//                msg.append(ImportExcelUtil.checkType(ImportExcelUtil.TYPE_BIGDECIMAL, "2", "闲置总面积(m²)",
//                        excelBean.getIdleTotalArea(), index).getMsg());
//
//
//            }
//            //判断完类型若有错直接返回
//            if (msg.toString().length() > 0) {
//                return new ImportResult(false, msg.toString());
//            }
//            //判断完类型若有错直接返回
//            if (msg.toString().length() > 0) {
//                return new ImportResult(false, msg.toString());
//            }
//
//            //对象和字典是否存在校验
//            int size = readExcels.size();
//            int count = 0;
//            for (Object readExcel : readExcels) {
//                LandAssetsImportExcelBean excelBean = (LandAssetsImportExcelBean) readExcel;
//                int index = readExcels.indexOf(readExcel);
//                //对象和字典是否存在校验
//                //单位名称
//                excelBean.setOrgId(StringUtil.cleanChars(excelBean.getOrgId()));
//                if (mapRef.get("unitRef").containsKey(excelBean.getOrgId())) {
//                    if (!mapRef.get("unitRef").get(excelBean.getOrgId()).equals(TokenUtil.getTokenOrgId())) {
//                        msg.append("sheet2第" + index + "行(企业名称=" + excelBean.getOrgId() + ")并不是当前登录单位\n");
//                    }else {
//                        excelBean.setOrgId(mapRef.get("unitRef").get(excelBean.getOrgId()));
//                    }
//                } else if (!StringUtil.isEmpty(excelBean.getOrgId())) {
//                    msg.append("sheet2第" + index + "行(企业名称=" + excelBean.getOrgId() + ")在系统中不存在\n");
//                }
//
//                if (StringUtil.isNotBlank(excelBean.getLandName())){
//                    if (existLandNames.contains(excelBean.getLandName())){
//                        msg.append("sheet2第" + index + "行(土地名称=" + excelBean.getLandName() + ") 在系统中已存在\n");
//                    }
//                }
//
//                if (StringUtil.isNotBlank(excelBean.getNetTo())) {
//                    if (!"是".equals(excelBean.getNetTo()) && !"否".equals(excelBean.getNetTo())) {
//                        msg.append("sheet2第" + index + "行(是否做地=" + excelBean.getNetTo() + ") 不是是或者否\n");
//                    }
//                }
//
//                if (StringUtil.isNotBlank(excelBean.getSporadicUseLand())) {
//                    if (!"是".equals(excelBean.getSporadicUseLand()) && !"否".equals(excelBean.getSporadicUseLand())) {
//                        msg.append("sheet2第" + index + "行(是否零星用地=" + excelBean.getSporadicUseLand() + ") 不是是或者否\n");
//                    }
//                }
//
//                if (StringUtil.isNotBlank(excelBean.getMortgageSituation())) {
//                    if (!"是".equals(excelBean.getMortgageSituation()) && !"否".equals(excelBean.getMortgageSituation())) {
//                        msg.append("sheet2第" + index + "行(是否抵押=" + excelBean.getMortgageSituation() + ") 不是是或者否\n");
//                    }
//                }
//
//                if (StringUtil.isNotBlank(excelBean.getSituation())) {
//                    if (!"已确权".equals(excelBean.getSituation()) && !"未确权".equals(excelBean.getSituation())
//                            && !"部分确权".equals(excelBean.getSituation())) {
//                        msg.append("sheet2第" + index + "行(确权情况=" + excelBean.getSituation() + ") 不是已确权、未确权、部分确权\n");
//                    }
//                }
//
//                if (StringUtil.isNotBlank(excelBean.getAccountinGassets())) {
//                    if (!"已入账".equals(excelBean.getAccountinGassets()) && !"未入账".equals(excelBean.getAccountinGassets())
//                            && !"部分入账".equals(excelBean.getAccountinGassets())) {
//                        msg.append("sheet2第" + index + "行(土地入账情况=" + excelBean.getAccountinGassets() + ") 不是已入账、未入账、部分入账\n");
//                    }
//                }
//
//
//                //土地取得方式
//                if (StringUtil.isNotBlank(excelBean.getMakeWay())) {
//                    if (!mapRef.get("landMakeWayRef").containsKey(excelBean.getMakeWay())) {
//                        msg.append("sheet2第" + index + "行(土地取得方式=" + excelBean.getMakeWay() + ")在系统中不存在\n");
//                    }
//                }
//
//                //土地性质
//                if (StringUtil.isNotBlank(excelBean.getLandType())) {
//                    if (!mapRef.get("landTypeRef").containsKey(excelBean.getLandType())) {
//                        msg.append("sheet2第" + index + "行(土地性质=" + excelBean.getLandType() + ")在系统中不存在\n");
//                    }
//                }
//
//                //土地使用现状
//                if (StringUtil.isNotBlank(excelBean.getStaLandUse())) {
//                    if (!mapRef.get("landUseRef").containsKey(excelBean.getStaLandUse())) {
//                        msg.append("sheet2第" + index + "行(土地使用现状=" + excelBean.getStaLandUse() + ")在系统中不存在\n");
//                    }
//                }
//
//                //土地用途
//                if (StringUtil.isNotBlank(excelBean.getLandUsed())) {
//                    if (!mapRef.get("landUsedRef").containsKey(excelBean.getLandUsed())) {
//                        msg.append("sheet2第" + index + "行(土地用途=" + excelBean.getLandUsed() + ")在系统中不存在\n");
//                    }
//                }
//
//                //土地价值类型
//                if (StringUtil.isNotBlank(excelBean.getTypeValue())) {
//                    if (!mapRef.get("landValueTypeRef").containsKey(excelBean.getTypeValue())) {
//                        msg.append("sheet2第" + index + "行(土地类型=" + excelBean.getTypeValue() + ")在系统中不存在\n");
//                    }
//                }
//
//                //土地类型
//                if (StringUtil.isNotBlank(excelBean.getLandClassification())) {
//                    if (!mapRef.get("landClassificationRef").containsKey(excelBean.getLandClassification())) {
//                        msg.append("sheet2第" + index + "行(土地价值类型=" + excelBean.getLandClassification() + ")在系统中不存在\n");
//                    }
//                }
//
//                count++;
//                int value = count * 100 / size;
//                CacheUtil.put("progress", "progress", progressId, value);
//            }
//        }
//
//        //统一放置报错
//        if (msg.toString().length() > 0) {
//            importResult = new ImportResult(false, msg.toString());
//        }
//
//        return importResult;
//
//    }
//
//}
